package com.ksd.modules.course.service;

import com.ksd.commons.IBaseService;
import com.ksd.modules.course.entity.AdminCourseLesson;
import com.ksd.modules.course.po.AdminCourseLessonSavePO;
import com.ksd.modules.course.vo.AdminCourseLessonVo;

import java.util.List;

public interface IAdminCourseLessonService extends IBaseService<AdminCourseLesson> {



    /**
     * 查询列表
     * @param courseId
     * @param chapterId
     * @return
     */
    List<AdminCourseLessonVo> findAdminCourseLessons(Long courseId, Long chapterId);


    /**
     * 保存和更新
     * @param adminNoteLessonSavePO
     * @return
     */
    boolean saveUpdateAdminCourseLesson(AdminCourseLessonSavePO adminNoteLessonSavePO);

    /**
     * 根据id获取明细
     * @param id
     * @return
     */
    AdminCourseLessonVo getAdminCourseLessonById(Long id);

    /**
     * 单个物理删除
     * @return
     */
    Boolean removeAdminCourseLessonById(Long id);


    /**
     * 修改状态
     * @param id
     * @param column
     * @param value
     * @return
     */
    boolean updateStatus(Long id,String column,Integer value);

    /**
     * 修改状态
     * @param id
     * @param column
     * @param value
     * @return
     */
    boolean updateStatusStr(Long id,String column,String value);

    /**
     * 根据章删除节
     * @param chapterId
     * @return
     */
    boolean removeByChapterId(Long chapterId);

    /**
     * 根据课程删除节
     * @param courseId
     * @return
     */
    boolean removeByCourseId(Long courseId);
    /**
     * 根据课程删除节
     * @param courseIds
     * @return
     */
    boolean removeByCourseIds(List<Long> courseIds);
}
